<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Pagamento extends CI_Controller {
    
    public function __construct(){
        parent::__construct();
        if (!$this->session->userdata('logged_in')) {
            redirect('login');exit;
        }
        else{
            $componente = array('componente'=>'pagamento');
            $this->session->set_userdata($componente);
            $this->load->model('Pagamento_Model');
        }
    }
    public function index(){
        if(!$this->session->userdata('componente')){
            echo "Componente indefinido!";
        }else{
            $componente = $this->session->userdata('componente').'_view'; 
            $this->load->view('layout/header_view',$componente);
            $this->load->view('menu_view');
            $this->gerencia();
            $this->load->view('layout/footer_view');            
        }
    }
    public function gerencia(){
        $rows = $this->Pagamento_Model->gerenciaPagamentos();        
        $pagamentos = array('pagamentos'=>$rows);
        $this->load->view('pagamento_view',$pagamentos);
    }
    public function baixa($boleto){
        $this->Pagamento_Model->baixaBoleto($boleto);
        header("location:".base_url()."pagamento/");
    }
    public function libera($boleto){
        $this->Pagamento_Model->liberaBoleto($boleto);
        header("location:".base_url()."pagamento/");
    }
    public function exclui($boleto){
        $this->Pagamento_Model->exclui($boleto);
        header("location:".base_url()."pagamento/");
    }
    public function encaminha(){
        $msg['msg'] = "";
        $idboleto = $this->uri->segment(3);
        if($idboleto){
           $boleto = $this->Pagamento_Model->encaminhaBoleto($idboleto);
            if(empty($boleto)){
               $msg['msg'] = "Não existe débito em aberto para esta reserva.";
            }else{
                $vencimento = $this->Pagamento_Model->segundaViaBoleto($idboleto);
                $link = base_url()."boletoCliente/geraBoletoEmail/$idboleto";
                $this->email->set_newline("\r\n");
                $this->email->from('no-reply@teatrodiplomata.com.br', 'Teatro Diplomata');
                $this->email->to($boleto[0]->email); 
                $this->email->subject('Geração de Boleto para reserva. - Teatro Diplomata');
                $this->email->message("Acesse o link abaixo e imprima seu boleto para Pagamento.<br /><br /><a href=$link>Geração de Boleto</a>
                <br /><br /> Favor não responder este email.
                <br /><br />
                <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'>---<br />Atenciosamente,</p>
                <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial; font-weight: bold;'>TEATRO DIPLOMATA - UNIRB</p>
                <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/home_silver.png' style='float: left;' />Avenida Tamburugy, 474 - Patamares, Salvador - BA, 41680-440</p>
                <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/phone_silver.png' style='float: left;' />(71) 3368-8342</p>
                <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;''><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/mail_silver.png' style='float: left;' />reserva@teatrodiplomata.com.br</p>
                ");
                $this->email->send();
                $msg['msg'] = "O boleto foi enviado para o email do cliente.";
            }
        }
        $this->session->set_flashdata('respbol', $msg['msg']);
        header("location:".base_url()."pagamento/");
    }

    public function geraBoleto(){
        $idBoleto = $this->uri->segment(3);        
        $dadosBol = $this->Pagamento_Model->encaminhaBoleto($idBoleto); 
        if(!empty($dadosBol)){
            $id_inscricao       = $dadosBol[0]->idboleto;
            $nome               = $dadosBol[0]->nome;
            $cpf                = $dadosBol[0]->nregistro;
            $end                = $dadosBol[0]->endereco;
            $bairro             = $dadosBol[0]->bairro;
            $cidade             = $dadosBol[0]->cidade;
            $estado             = $dadosBol[0]->estado;
            $cep                = $dadosBol[0]->cep;
            $NumBoleto          = $dadosBol[0]->idboleto;
            $data_venc          = date('d/m/Y', strtotime($dadosBol[0]->dtvencimento));
            $nomeEvento         = $dadosBol[0]->descricao_reserva;
            $valor              = $dadosBol[0]->valor;
            $dataAgendamento    = $dadosBol[0]->dtinicial;
        }
        else{
            exit("Efetue o pagamento do boleto e entre em contato através do número 71 3368-8342");            
        }
        $dias_de_prazo_para_pagamento = 1;
        $taxa_boleto = 0;
        $hoje = date("d/m/Y");
        if ($data_venc == NULL){
            $data_venc = date("d/m/Y", time() + ($dias_de_prazo_para_pagamento * 86400));  // Prazo de X dias OU informe data: "13/04/2006"; 
        }
        $valorcobrado = $valor; // Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal
        $valor_cobrado = str_replace(",", ".",$valorcobrado);
        $valor_boleto = number_format($valor_cobrado+$taxa_boleto, 2, ',', '');

        $dadosboleto["numero_documento"] = $NumBoleto;  // Num do pedido ou nosso numero
        $dadosboleto["data_vencimento"] = $data_venc; // Data de Vencimento do Boleto
        $dadosboleto["data_documento"] = $hoje; // Data de emissão do Boleto
        $dadosboleto["data_processamento"] = $hoje; // Data de processamento do boleto (opcional)
        $dadosboleto["valor_boleto"] = $valor_boleto;   // Valor do Boleto, com vírgula, sempre com duas casas depois da virgula

        /* DADOS DO SEU CLIENTE */
        $dadosboleto["sacado"] = $nome;
        $dadosboleto["endereco1"] = $cpf;
        $dadosboleto["endereco2"] = $end.",".$bairro." ".$cidade."-".$estado."   CEP:".$cep;

        /* INSTRUÇÕES PARA O CLIENTE */
        $dadosboleto["instrucoes"] = "";
        $dadosboleto["instrucoes1"] = "**** NÃO RECEBER APÓS O VENCIMENTO ****";
        $dadosboleto["instrucoes2"] = "Referência do Evento: ".$nomeEvento; 
        $dadosboleto["instrucoes3"] = "Data da Reserva: ".date('d/m/Y', strtotime($dataAgendamento));
        $dadosboleto["instrucoes4"] = "Numero de inscrição: ".$id_inscricao;
        $dadosboleto["instrucoes5"] = "OBS: Em caso de desistência o valor pago não será restituído.";

        /* SEUS DADOS */
        $dadosboleto["cpf_cnpj"] = "11.274.854/0001-82";
        $dadosboleto["endereco"] = "Av. Tamburugy 474, Patamares";
        $dadosboleto["cidade"] = "Salvador - BA";
        $dadosboleto["cedente"] = "ANA'S EMPREENDIMENTOS LTDA";

        //dados da sua conta e convênio
        $dadosboleto["agencia"] = "3459"; // Num da agencia, sem digito
        $dadosboleto["conta"] = "16846";    // Num da conta, sem digito
        //convenio e contrato podem ser vistos no gerenciador financeiro do BB
        $dadosboleto["convenio"] = "2626994";  // Num do convênio
        $dadosboleto["contrato"] = "19146850"; // Num do seu contrato
        $dadosboleto["carteira"] = "17";  // Código da Carteira 18 - 17 ou 11
        $dadosboleto["variacao_carteira"] = "";  // Variação da Carteira, com traço (opcional)

        $TotalCarac = strlen($NumBoleto); //trantando o Nosso Numero para o formato do BB
        switch($TotalCarac){
            case 1: $NumBoletobb = "000000".$NumBoleto; break;
            case 2: $NumBoletobb = "00000".$NumBoleto;  break;
            case 3: $NumBoletobb = "0000".$NumBoleto;   break;
            case 4: $NumBoletobb = "000".$NumBoleto;    break;
            case 5: $NumBoletobb = "00".$NumBoleto;     break;
            case 6: $NumBoletobb = "0".$NumBoleto;      break;
        }   

        $dadosboleto["nosso_numero"] = $NumBoletobb;
        // TIPO DO BOLETO
        $dadosboleto["formatacao_convenio"] = "7"; // REGRA: 8 p/ Convênio c/ 8 dígitos, 7 p/ Convênio c/ 7 dígitos, ou 6 se Convênio c/ 6 dígitos
        $dadosboleto["formatacao_nosso_numero"] = "2"; // REGRA: Usado apenas p/ Convênio c/ 6 dígitos: informe 1 se for NossoNúmero de até 5 dígitos ou 2 para opção de até 17 dígitos
        //OPCIONAIS
        $dadosboleto["quantidade"] = $dadosBol[0]->nparcela."/".$dadosBol[0]->tparcelas;
        $dadosboleto["valor_unitario"] = "";
        $dadosboleto["aceite"] = "N";       
        $dadosboleto["uso_banco"] = "";     
        $dadosboleto["especie"] = "R$";
        $dadosboleto["especie_doc"] = "DM";

        //SÓ MEXA DEPOIS DISSO SE VOCÊ FOR EXPERIENTE EM PHP
        include("inc/boleto/inc/funcoesbb.php"); 
        include("inc/boleto/inc/layoutbbhtml.php");        
    }
}